cpus_weight(per_cpu(cpu_sibling_map, 0));
pi->cores_per_socket =
cpus_weight(per_cpu(cpu_core_map, 0)) / pi->threads_per_core;
- pi->nr_cpus = (u32)num_online_cpus();
- pi->nr_nodes = (u32)num_online_nodes();
- pi->sockets_per_node = pi->nr_cpus /
- (pi->nr_nodes * pi->cores_per_socket * pi->threads_per_core);
+ pi->nr_cpus = num_online_cpus();
+ pi->nr_nodes = num_online_nodes();
+ pi->max_node_id = last_node(node_online_map);
+ pi->max_cpu_id = last_cpu(cpu_online_map);
+ pi->sockets_per_node =
+ pi->nr_cpus /
+ (pi->nr_nodes * pi->cores_per_socket * pi->threads_per_core);
pi->total_pages = total_pages;
pi->free_pages = avail_domheap_pages();
pi->scrub_pages = 0;
uint32_t threads_per_core;
uint32_t cores_per_socket;
uint32_t sockets_per_node;
- uint32_t nr_cpus;
- uint32_t nr_nodes;
+ uint32_t nr_cpus, max_cpu_id;
+ uint32_t nr_nodes, max_node_id;
uint32_t cpu_khz;
uint64_aligned_t total_pages;
uint64_aligned_t free_pages;